﻿namespace UnityEngine
{
    using System;
    using System.Runtime.CompilerServices;

    public sealed class LocationService
    {
        public void Start()
        {
            float updateDistanceInMeters = 10f;
            float desiredAccuracyInMeters = 10f;
            this.Start(desiredAccuracyInMeters, updateDistanceInMeters);
        }

        public void Start(float desiredAccuracyInMeters)
        {
            float updateDistanceInMeters = 10f;
            this.Start(desiredAccuracyInMeters, updateDistanceInMeters);
        }

        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public extern void Start(float desiredAccuracyInMeters, float updateDistanceInMeters);
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public extern void Stop();

        private bool _isEnabledByUser;
        public bool isEnabledByUser { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get { return _isEnabledByUser; } }

        private LocationInfo _lastData;
        public LocationInfo lastData { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get { return _lastData; } }

        public LocationServiceStatus status { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }
    }
}

